package com.panda.mall.common.mallCoupon.entity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.mall.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 优惠券领取历史记录
* mall_coupon_history
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("mall_coupon_history")
public class MallCouponHistory extends BaseEntity implements Serializable {

    /**
    * 记录id
    */
    @NotNull(message="[记录id]不能为空")
    @ApiModelProperty("记录id")
    private Long id;
    /**
    * 优惠券id
    */
    @ApiModelProperty("优惠券id")
    private Long couponId;
    /**
    * 用户id
    */
    @ApiModelProperty("用户id")
    private Long userId;
    /**
    * 用户名字
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("用户名字")
    @Length(max= 40,message="编码长度不能超过40")
    private String userName;
    /**
    * 领取方式（0-后台赠送，1-主动领取）
    */
    @ApiModelProperty("领取方式（0-后台赠送，1-主动领取）")
    private Integer getType;
    /**
    * 使用状态（0-未使用，1-以适应，2-已过期）
    */
    @ApiModelProperty("使用状态（0-未使用，1-以适应，2-已过期）")
    private Integer useType;
    /**
    * 使用时间
    */
    @ApiModelProperty("使用时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date useTime;
    /**
    * 订单编号
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("订单编号")
    @Length(max= 40,message="编码长度不能超过40")
    private String orderNumber;
}
